leetcodeJS

Personal solution for leetcode problem using Javascript

View on GitHub

Problem

Given an object or an array, return if it is empty.

An empty object contains no key-value pairs. An empty array contains no elements.

You may assume the object or array is the output of JSON.parse.

Example 1:

Input: obj = {“x”: 5, “y”: 42} Output: false Explanation: The object has 2 key-value pairs so it is not empty.

Example 2:

Input: obj = {} Output: true Explanation: The object doesn’t have any key-value pairs so it is empty.

Example 3:

Input: obj = [null, false, 0] Output: false Explanation: The array has 3 elements so it is not empty.

Constraints:

obj is a valid JSON object or array 2 <= JSON.stringify(obj).length <= 105

Can you solve it in O(1) time?

Pre analysis

Simple JS implementation og Object.keys should do the trick.

Post analysis

Time complexity: O(n), where n is the size of object Space complexity: O(n), where n is the size of object

Another solution

Another solution is to use for in loop and check if any key is present.

function isEmpty(obj) {
  for (let key in obj) {
    return false;
  }
  return true;
}